#define _CRT_SECURE_NO_WARNINGS 1

#include<iostream>
#include<queue>
using namespace std;

class MyStack {
public:
    MyStack() {

    }

    void push(int x) {
        if (!q1.empty())
            q1.push(x);
        else
            q2.push(x);
    }

    int pop() {
        //int a = top();
        while (!q1.empty())
        {
            if (q1.size() == 1)
            {
                int a = q1.front();
                q1.pop();
                return a;
            }
            q2.push(q1.front());
            q1.pop();
            

        }
        while (!q2.empty())
        {
            if (q2.size() == 1)
            {
                int a = q2.front();
                q2.pop();
                return a;
            }
            q1.push(q2.front());
            q2.pop();
            
        }
        //return a;
    }

    int top() {
        if (!q1.empty())
            return q1.back();
        else
            return q2.back();
    }

    bool empty() {
        return q1.empty() && q2.empty();
    }
private:
    std::queue<int> q1;
    std::queue<int> q2;
};

int main()
{
    MyStack m;
    m.push(1);
    m.pop();
    cout << m.empty() << endl;
    return 0;
}